//第十二天错题

//2024年3月11日

#include <stdio.h>
#include <string.h>

//1.
int main()
{
 	char c = 'A';
	//C语言中比较大小与数学不同，if语句中的表达式表示的并不是字符c大于等于字符'0'并且小于等于再字符'9'
	//对于这种表达式从左到右判断，先判断'0'与c的大小关系，结果只有两种结果，真或假（0/1），后其结果再与字符'9'进行比较
	//'0'的ASCII码值为48，'9'的ASCII码值为57，'A'的ASCII码值为65
	//48<=65为真，结果为1，1<=57为真，故if表达式结果整体为真，执行if语句
	//故打印YES
	if ('0' <= c <= '9') printf("YES");
	else printf("NO");
	return 0;
}

//2.
int main()
{
	int n = 1001;
	int ans = 0;

	//i%3的值为 1，2，0
	//1%3 = 1
	//0^1 = 1
	//2%3 = 2
	//1^2 = 3
	//3%3 = 0
	//0^3 = 3
	//4%3 = 1
	//1^3 = 2
	//5%3 = 2
	//2^2 = 0
	//6%3 = 0
	//0^0 = 0
	//综上，ans的取值为1 3 3 2 0 0，每6次，循环一次
	//1001 / 6 = 996……5
	//故ans的值为ans取值的第五个，0
	for (int i = 1; i <= n; ++i)
	{
		ans ^= i % 3;
	}

	printf("%d", ans);
	return 0;
}

//3.数字颠倒
//法一：
//将输入的数字看作字符串，计算出字符串长度，逆序输出即可
int main()
{
	char nums[1000000] = { 0 };
	while (~scanf("%s", nums))
	{
		int len = strlen(nums);
		int i = 0;

		for (i = len - 1; i >= 0; i--)
		{
			printf("%c", nums[i]);
		}
	}
	return 0;
}

//法二：
int main()
{
	int num = 0;

	while (~scanf("%d", &num))
	{
		//如果数字为0的话，直接打印该数字
		if (num == 0)
		{
			printf("%d", num);
		}

		while (num > 0)
		{
			//num%10，可以求出num的最后一位数
			//num/10，可以将最后一个数去掉
			//按照循环，可以倒序打印num的每一位数
			printf("%d", num % 10);
			num /= 10;
		}
	}
}